#include "mainwindow.h"

#include <QApplication>
/*
 *信号与槽
 * 信号和槽都是函数
 * 信号一般没有函数体,也可以主动实现该函数，给函数补函数体，是由事件的发送者调用的；
 * 槽函数必须要有函数体，函数体内就是具体的业务逻辑；是事件的响应者调用的；
 *
 * 信号一般和槽要连接到一起，当该信号事件发生时，对应槽函数才会执行
 * 事件：一个控件被操作，就会触发它对应的信号函数，从而发送信号
 *
 * 信号响应方式一：
 * 一个控件当触发它的的某个事件(鼠标点击按钮)，这个事件对应的信号函数(clicked)就会执行，
 * 在控件上右键选择“转到槽”，选择对应的信号函数，系统会给这个信号函数绑定一个自定义的槽函数
 * 当点击事件发生，信号发出后，自定义的槽函数会被调用执行
 *
 * 信号响应的方式二：
 * 选择发送信号的控件，点击加号，选择发送者，选择信号函数，选择接收者，选择槽函数
 * 当发送者的信号对应的事件触发时，接收者的槽函数会被调用
 *
 * 信号响应的方式三
 * 利用信号和槽设置页面选择对应的发送者，信号，接收者，槽函数
 *
 * 信号响应的方式四：
 * 通过QObject的静态函数connet，连接发送者，信号，接收者，槽函数
 */

/*
 在QT中，可以使用可视化界面设置UI,绑定信号和槽，也可以通过C++代码实现相同的效果
 */
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

//    int x = 10;
//    w.add(x, 20);
    return a.exec();
}
